(function() {
  var format;

  format = function(size) {
    if (size >= 1024 * 1024 * 1024) {
      return (size / (1024 * 1024 * 1024)).toFixed(2) + ' GB';
    } else if (1024 * 1024 * 1024 > size && size >= 1024 * 1024) {
      return (size / (1024 * 1024)).toFixed(2) + ' MB';
    } else {
      return (size / 1024).toFixed(2) + ' KB';
    }
  };

  $(function() {
    var mem, mem_chart, option, swaptotal, total;
    mem = JSON.parse(window.mem);
    mem_chart = echarts.init(document.getElementById('mem'));
    option = {
      title: {
        text: '内存使用情况',
        subtext: '内存总量：' + mem.total + ' B',
        subtextStyle: {
          color: 'blue'
        },
        x: 'center'
      },
      tooltip: {
        trigger: 'item',
        formatter: function(params) {
          var value;
          value = format(params.value);
          return params.seriesName + '<br/>' + params.name + '：' + value + ' (' + params.percent + '%)';
        }
      },
      series: [
        {
          name: '交换区使用情况',
          type: 'pie',
          selectedMode: 'single',
          radius: [0, '35%'],
          center: ['50%', '60%'],
          label: {
            normal: {
              position: 'inner'
            }
          },
          labelLine: {
            normal: {
              show: false
            }
          },
          data: [
            {
              value: mem.swapfree,
              name: '可用交换区',
              itemStyle: {
                normal: {
                  color: '#00A600'
                }
              }
            }, {
              value: mem.swapused,
              name: '已用交换区',
              itemStyle: {
                normal: {
                  color: '#FF7575'
                }
              }
            }
          ]
        }, {
          name: '内存使用情况',
          type: 'pie',
          radius: ['45%', '60%'],
          center: ['50%', '60%'],
          data: [
            {
              value: mem.free,
              name: '可用内存',
              selected: true,
              itemStyle: {
                normal: {
                  color: 'green'
                }
              }
            }, {
              value: mem.used,
              name: '已用内存',
              itemStyle: {
                normal: {
                  color: '#AE0000'
                }
              }
            }
          ]
        }
      ]
    };
    total = format(mem.total);
    option.title.subtext = '内存总量：' + total;
    swaptotal = format(mem.swaptotal);
    option.title.subtext += '，交换区总量：' + swaptotal;
    return mem_chart.setOption(option);
  });

}).call(this);
